Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

deIDServer.hpp

Go to the documentation of this file.
00001 ///////////////////////////////////////////////////////////////////////////////
00002 /// @file deIDServer.hpp
00003 ///
00004 /// @brief 32-bit UINT ID server
00005 ///
00006 /// @author Assassin
00007 ///
00008 /// This file is the intellectual property of Novus Delta, LLC.. Usage of the
00009 /// contents of this file is subject to the Destiny3D Member License which
00010 /// can be found at http://www.destiny3d.com.  Any other usage is prohibited.
00011 ///
00012 /// This file is distributed "AS IS" without warranty of any kind.  Novus
00013 /// Delta, LLC. does not guarantee the fitness of the contents of this file
00014 /// for any particular purpose.
00015 ///
00016 /// Copyright (C) 2001-2003 Novus Delta, LLC. All Rights Reserved.
00017 ///
00018 /// <hr>
00019 ///                                 Change History
00020 /// <hr>
00021 ///
00022 /// @date Sept 2002
00023 /// @author Assassin
00024 /// @remarks Creation
00025 ///
00026 ///////////////////////////////////////////////////////////////////////////////
00027 
00028 #ifndef DEIDSERVER_HPP
00029 #define DEIDSERVER_HPP
00030 
00031 #include "deGlobalTypes.hpp"
00032 
00033 #if defined(DEUTIL_DLL_EXPORTS) || defined(DESTINY3D_EXPORT_ALL)
00034 #   define DEIDSERVER_API extern "C" DEDLL_EXPORT
00035 #elif defined(DESTINY3D_STATIC_LINK)
00036 #   define DEIDSERVER_API extern "C"
00037 #else
00038 #   define DEIDSERVER_API extern "C" DEDLL_IMPORT
00039 #endif
00040 
00041 #ifdef USING_DESTINY3D
00042 #ifdef _DEBUG
00043 #   ifdef DESTINY3D_STATIC_LINK
00044 #       pragma comment(lib, "deUtil_sd")
00045 #   else
00046 #       pragma comment(lib, "deUtild")
00047 #   endif //DESTINY3D_STATIC_LINK
00048 #else
00049 #   ifdef DESTINY3D_STATIC_LINK
00050 #       pragma comment(lib, "deUtil_s")
00051 #   else
00052 #       pragma comment(lib, "deUtil")
00053 #   endif //DESTINY3D_STATIC_LINK
00054 #endif //_DEBUG
00055 #endif //USING_DESTINY3D
00056 
00057 
00058 class IdeIDServer;
00059 class IdeIDMapper;
00060 
00061     DEIDSERVER_API IdeIDServer * IdeIDServer_CreateServer(deBoolean RecycleIDs = deTRUE, int InitialSize = 8);
00062 //  DEIDSERVER_API IdeIDMapper * IdeIDServer_CreateMapper();
00063 
00064 typedef unsigned long int deID_t;
00065 
00066 //class IdeIDServer
00067 DE3D_INTERFACE_(IdeIDServer)
00068 {
00069 protected:
00070     virtual ~IdeIDServer() {}
00071 public:
00072     virtual int         Release() = 0;
00073 
00074     virtual deID_t      AddData(void* Data) = 0;
00075     virtual deBoolean   AddDataWithID(void* Data, deID_t ID) = 0;
00076     virtual void*       LookupData(deID_t ID) = 0;
00077     virtual deBoolean   RemoveData(deID_t ID, void* Data) = 0;
00078     virtual void*       WalkData(deID_t & ID) = 0;
00079 };
00080 
00081 //class IdeIDMapper
00082 DE3D_INTERFACE_(IdeIDMapper)
00083 {
00084 protected:
00085     virtual ~IdeIDMapper() {}
00086 public:
00087     virtual int         Release() = 0;
00088 
00089     virtual IdeIDServer*GetMappedIDServer(IdeIDServer* Input) = 0;
00090     virtual deID_t      MapID(deID_t InputID) = 0;
00091 };
00092 
00093 #endif

Generated on Mon Sep 12 19:58:29 2005 for Destiny3D by doxygen1.3-rc3